le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(x) → log2(x, 0)
log2(x, y) → if(le(x, 0), le(x, s(0)), x, inc(y))
if(true, b, x, y) → log_undefined
if(false, b, x, y) → if2(b, x, y)
if2(true, x, s(y)) → y
if2(false, x, y) → log2(quot(x, s(s(0))), y)
↳ QTRS
↳ Overlay + Local Confluence
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(x) → log2(x, 0)
log2(x, y) → if(le(x, 0), le(x, s(0)), x, inc(y))
if(true, b, x, y) → log_undefined
if(false, b, x, y) → if2(b, x, y)
if2(true, x, s(y)) → y
if2(false, x, y) → log2(quot(x, s(s(0))), y)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(x) → log2(x, 0)
log2(x, y) → if(le(x, 0), le(x, s(0)), x, inc(y))
if(true, b, x, y) → log_undefined
if(false, b, x, y) → if2(b, x, y)
if2(true, x, s(y)) → y
if2(false, x, y) → log2(quot(x, s(s(0))), y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
LOG2(x, y) → LE(x, 0)
QUOT(s(x), s(y)) → QUOT(minus(x, y), s(y))
LOG2(x, y) → INC(y)
INC(s(x)) → INC(x)
IF2(false, x, y) → QUOT(x, s(s(0)))
LE(s(x), s(y)) → LE(x, y)
QUOT(s(x), s(y)) → MINUS(x, y)
LOG2(x, y) → LE(x, s(0))
MINUS(s(x), s(y)) → MINUS(x, y)
LOG(x) → LOG2(x, 0)
IF2(false, x, y) → LOG2(quot(x, s(s(0))), y)
IF(false, b, x, y) → IF2(b, x, y)
LOG2(x, y) → IF(le(x, 0), le(x, s(0)), x, inc(y))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(x) → log2(x, 0)
log2(x, y) → if(le(x, 0), le(x, s(0)), x, inc(y))
if(true, b, x, y) → log_undefined
if(false, b, x, y) → if2(b, x, y)
if2(true, x, s(y)) → y
if2(false, x, y) → log2(quot(x, s(s(0))), y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
LOG2(x, y) → LE(x, 0)
QUOT(s(x), s(y)) → QUOT(minus(x, y), s(y))
LOG2(x, y) → INC(y)
INC(s(x)) → INC(x)
IF2(false, x, y) → QUOT(x, s(s(0)))
LE(s(x), s(y)) → LE(x, y)
QUOT(s(x), s(y)) → MINUS(x, y)
LOG2(x, y) → LE(x, s(0))
MINUS(s(x), s(y)) → MINUS(x, y)
LOG(x) → LOG2(x, 0)
IF2(false, x, y) → LOG2(quot(x, s(s(0))), y)
IF(false, b, x, y) → IF2(b, x, y)
LOG2(x, y) → IF(le(x, 0), le(x, s(0)), x, inc(y))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(x) → log2(x, 0)
log2(x, y) → if(le(x, 0), le(x, s(0)), x, inc(y))
if(true, b, x, y) → log_undefined
if(false, b, x, y) → if2(b, x, y)
if2(true, x, s(y)) → y
if2(false, x, y) → log2(quot(x, s(s(0))), y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
MINUS(s(x), s(y)) → MINUS(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(x) → log2(x, 0)
log2(x, y) → if(le(x, 0), le(x, s(0)), x, inc(y))
if(true, b, x, y) → log_undefined
if(false, b, x, y) → if2(b, x, y)
if2(true, x, s(y)) → y
if2(false, x, y) → log2(quot(x, s(s(0))), y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
MINUS(s(x), s(y)) → MINUS(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
MINUS(s(x), s(y)) → MINUS(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
QUOT(s(x), s(y)) → QUOT(minus(x, y), s(y))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(x) → log2(x, 0)
log2(x, y) → if(le(x, 0), le(x, s(0)), x, inc(y))
if(true, b, x, y) → log_undefined
if(false, b, x, y) → if2(b, x, y)
if2(true, x, s(y)) → y
if2(false, x, y) → log2(quot(x, s(s(0))), y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
QUOT(s(x), s(y)) → QUOT(minus(x, y), s(y))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
QUOT(s(x), s(y)) → QUOT(minus(x, y), s(y))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
QUOT(s(x), s(y)) → QUOT(minus(x, y), s(y))
POL(0) = 0
POL(QUOT(x1, x2)) = x1
POL(minus(x1, x2)) = x1
POL(s(x1)) = 1 + x1
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
INC(s(x)) → INC(x)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(x) → log2(x, 0)
log2(x, y) → if(le(x, 0), le(x, s(0)), x, inc(y))
if(true, b, x, y) → log_undefined
if(false, b, x, y) → if2(b, x, y)
if2(true, x, s(y)) → y
if2(false, x, y) → log2(quot(x, s(s(0))), y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
INC(s(x)) → INC(x)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
INC(s(x)) → INC(x)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
LE(s(x), s(y)) → LE(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(x) → log2(x, 0)
log2(x, y) → if(le(x, 0), le(x, s(0)), x, inc(y))
if(true, b, x, y) → log_undefined
if(false, b, x, y) → if2(b, x, y)
if2(true, x, s(y)) → y
if2(false, x, y) → log2(quot(x, s(s(0))), y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
LE(s(x), s(y)) → LE(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
LE(s(x), s(y)) → LE(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
IF2(false, x, y) → LOG2(quot(x, s(s(0))), y)
IF(false, b, x, y) → IF2(b, x, y)
LOG2(x, y) → IF(le(x, 0), le(x, s(0)), x, inc(y))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(x) → log2(x, 0)
log2(x, y) → if(le(x, 0), le(x, s(0)), x, inc(y))
if(true, b, x, y) → log_undefined
if(false, b, x, y) → if2(b, x, y)
if2(true, x, s(y)) → y
if2(false, x, y) → log2(quot(x, s(s(0))), y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
IF2(false, x, y) → LOG2(quot(x, s(s(0))), y)
IF(false, b, x, y) → IF2(b, x, y)
LOG2(x, y) → IF(le(x, 0), le(x, s(0)), x, inc(y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
log(x0)
log2(x0, x1)
if(true, x0, x1, x2)
if(false, x0, x1, x2)
if2(true, x0, s(x1))
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
IF2(false, x, y) → LOG2(quot(x, s(s(0))), y)
IF(false, b, x, y) → IF2(b, x, y)
LOG2(x, y) → IF(le(x, 0), le(x, s(0)), x, inc(y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ RemovalProof
↳ Narrowing
IF2(false, x, y, x_removed) → LOG2(quot(x, x_removed), y, x_removed)
LOG2(x, y, x_removed) → IF(le(x, 0), le(x, s(0)), x, inc(y), x_removed)
IF(false, b, x, y, x_removed) → IF2(b, x, y, x_removed)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ QDP
↳ Narrowing
IF2(false, x, y, x_removed) → LOG2(quot(x, x_removed), y, x_removed)
LOG2(x, y, x_removed) → IF(le(x, 0), le(x, s(0)), x, inc(y), x_removed)
IF(false, b, x, y, x_removed) → IF2(b, x, y, x_removed)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
LOG2(s(x0), y1) → IF(false, le(s(x0), s(0)), s(x0), inc(y1))
LOG2(0, y1) → IF(true, le(0, s(0)), 0, inc(y1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
LOG2(s(x0), y1) → IF(false, le(s(x0), s(0)), s(x0), inc(y1))
LOG2(0, y1) → IF(true, le(0, s(0)), 0, inc(y1))
IF2(false, x, y) → LOG2(quot(x, s(s(0))), y)
IF(false, b, x, y) → IF2(b, x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
LOG2(s(x0), y1) → IF(false, le(s(x0), s(0)), s(x0), inc(y1))
IF2(false, x, y) → LOG2(quot(x, s(s(0))), y)
IF(false, b, x, y) → IF2(b, x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
LOG2(s(x0), y1) → IF(false, le(x0, 0), s(x0), inc(y1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
LOG2(s(x0), y1) → IF(false, le(x0, 0), s(x0), inc(y1))
IF2(false, x, y) → LOG2(quot(x, s(s(0))), y)
IF(false, b, x, y) → IF2(b, x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
inc(0) → 0
inc(s(x)) → s(inc(x))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
LOG2(s(x0), y1) → IF(false, le(x0, 0), s(x0), inc(y1))
IF2(false, x, y) → LOG2(quot(x, s(s(0))), y)
IF(false, b, x, y) → IF2(b, x, y)
le(0, y) → true
le(s(x), 0) → false
inc(0) → 0
inc(s(x)) → s(inc(x))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
IF2(false, s(x0), y1) → LOG2(s(quot(minus(x0, s(0)), s(s(0)))), y1)
IF2(false, 0, y1) → LOG2(0, y1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
IF2(false, 0, y1) → LOG2(0, y1)
IF2(false, s(x0), y1) → LOG2(s(quot(minus(x0, s(0)), s(s(0)))), y1)
LOG2(s(x0), y1) → IF(false, le(x0, 0), s(x0), inc(y1))
IF(false, b, x, y) → IF2(b, x, y)
le(0, y) → true
le(s(x), 0) → false
inc(0) → 0
inc(s(x)) → s(inc(x))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
IF2(false, s(x0), y1) → LOG2(s(quot(minus(x0, s(0)), s(s(0)))), y1)
LOG2(s(x0), y1) → IF(false, le(x0, 0), s(x0), inc(y1))
IF(false, b, x, y) → IF2(b, x, y)
le(0, y) → true
le(s(x), 0) → false
inc(0) → 0
inc(s(x)) → s(inc(x))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
IF(false, y_0, s(z0), y_1) → IF2(y_0, s(z0), y_1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
IF(false, y_0, s(z0), y_1) → IF2(y_0, s(z0), y_1)
IF2(false, s(x0), y1) → LOG2(s(quot(minus(x0, s(0)), s(s(0)))), y1)
LOG2(s(x0), y1) → IF(false, le(x0, 0), s(x0), inc(y1))
le(0, y) → true
le(s(x), 0) → false
inc(0) → 0
inc(s(x)) → s(inc(x))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
IF(false, false, s(x1), x2) → IF2(false, s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Narrowing
IF2(false, s(x0), y1) → LOG2(s(quot(minus(x0, s(0)), s(s(0)))), y1)
LOG2(s(x0), y1) → IF(false, le(x0, 0), s(x0), inc(y1))
IF(false, false, s(x1), x2) → IF2(false, s(x1), x2)
le(0, y) → true
le(s(x), 0) → false
inc(0) → 0
inc(s(x)) → s(inc(x))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
LOG2(s(s(x0)), y1) → IF(false, false, s(s(x0)), inc(y1))
LOG2(s(0), y1) → IF(false, true, s(0), inc(y1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
IF2(false, s(x0), y1) → LOG2(s(quot(minus(x0, s(0)), s(s(0)))), y1)
LOG2(s(s(x0)), y1) → IF(false, false, s(s(x0)), inc(y1))
IF(false, false, s(x1), x2) → IF2(false, s(x1), x2)
LOG2(s(0), y1) → IF(false, true, s(0), inc(y1))
le(0, y) → true
le(s(x), 0) → false
inc(0) → 0
inc(s(x)) → s(inc(x))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
IF2(false, s(x0), y1) → LOG2(s(quot(minus(x0, s(0)), s(s(0)))), y1)
LOG2(s(s(x0)), y1) → IF(false, false, s(s(x0)), inc(y1))
IF(false, false, s(x1), x2) → IF2(false, s(x1), x2)
le(0, y) → true
le(s(x), 0) → false
inc(0) → 0
inc(s(x)) → s(inc(x))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
IF2(false, s(x0), y1) → LOG2(s(quot(minus(x0, s(0)), s(s(0)))), y1)
LOG2(s(s(x0)), y1) → IF(false, false, s(s(x0)), inc(y1))
IF(false, false, s(x1), x2) → IF2(false, s(x1), x2)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(x, 0) → x
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
IF2(false, s(x0), y1) → LOG2(s(quot(minus(x0, s(0)), s(s(0)))), y1)
LOG2(s(s(x0)), y1) → IF(false, false, s(s(x0)), inc(y1))
IF(false, false, s(x1), x2) → IF2(false, s(x1), x2)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(x, 0) → x
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
IF(false, false, s(s(z0)), y_0) → IF2(false, s(s(z0)), y_0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
IF2(false, s(x0), y1) → LOG2(s(quot(minus(x0, s(0)), s(s(0)))), y1)
LOG2(s(s(x0)), y1) → IF(false, false, s(s(x0)), inc(y1))
IF(false, false, s(s(z0)), y_0) → IF2(false, s(s(z0)), y_0)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(x, 0) → x
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
IF2(false, s(s(z0)), z1) → LOG2(s(quot(minus(s(z0), s(0)), s(s(0)))), z1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
LOG2(s(s(x0)), y1) → IF(false, false, s(s(x0)), inc(y1))
IF2(false, s(s(z0)), z1) → LOG2(s(quot(minus(s(z0), s(0)), s(s(0)))), z1)
IF(false, false, s(s(z0)), y_0) → IF2(false, s(s(z0)), y_0)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(x, 0) → x
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
IF2(false, s(s(z0)), z1) → LOG2(s(quot(minus(z0, 0), s(s(0)))), z1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
LOG2(s(s(x0)), y1) → IF(false, false, s(s(x0)), inc(y1))
IF(false, false, s(s(z0)), y_0) → IF2(false, s(s(z0)), y_0)
IF2(false, s(s(z0)), z1) → LOG2(s(quot(minus(z0, 0), s(s(0)))), z1)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(x, 0) → x
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
IF2(false, s(s(z0)), z1) → LOG2(s(quot(z0, s(s(0)))), z1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ QDPOrderProof
IF2(false, s(s(z0)), z1) → LOG2(s(quot(z0, s(s(0)))), z1)
LOG2(s(s(x0)), y1) → IF(false, false, s(s(x0)), inc(y1))
IF(false, false, s(s(z0)), y_0) → IF2(false, s(s(z0)), y_0)
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(x, 0) → x
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
IF2(false, s(s(z0)), z1) → LOG2(s(quot(z0, s(s(0)))), z1)
LOG2(s(s(x0)), y1) → IF(false, false, s(s(x0)), inc(y1))
IF(false, false, s(s(z0)), y_0) → IF2(false, s(s(z0)), y_0)
[s1, LOG21, 0, inc] > false > [IF22, IF2]
IF22: [1,2]
false: multiset
inc: multiset
s1: [1]
IF2: [2,1]
0: multiset
LOG21: [1]
minus(s(x), s(y)) → minus(x, y)
minus(0, y) → 0
minus(x, 0) → x
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
quot(0, s(y)) → 0
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
inc(0) → 0
inc(s(x)) → s(inc(x))
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
minus(x, 0) → x
inc(0)
inc(s(x0))
minus(0, x0)
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))